"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
var bggood_store_utils_1 = require("bggood-store-utils");
var message_1 = require("./message");
var loading_1 = require("./loading");
var state_1 = require("./state");
var InitPlugin = {
    install: function (Vue, options) {
        options = options || {};
        options.obStateType = options.obStateType || bggood_store_utils_1.ObservablePromiseModel;
        Vue.use(message_1.default);
        Vue.use(loading_1.default, { obStateType: options.obStateType });
        Vue.use(state_1.default, { obStateType: options.obStateType });
        Vue.mixin({
            props: {
                $stateBase: Object
            }
        });
    }
};
exports.default = InitPlugin;
